﻿using System;
using System.Collections.Generic;
using System.Text;

namespace MedicWave.Visualization3d
{
    public struct ScatterplotPoint
    {
        public float X;
        public float Y;
        public float Z;
    }

    /// <summary>
    /// Contains scatterplot or biplot data
    /// </summary>
    public class ScatterplotData
    {
        /// <summary>
        /// Plot type
        /// </summary>
        ScatterplotType plotType;

        /// <summary>
        /// Plot type(Normal,Biplot)
        /// </summary>
        public ScatterplotType PlotType
        {
            get { return plotType; }
            set { plotType = value; }
        }


        List<ScatterplotPoint> plotData;

        /// <summary>
        /// A list containing 3D points - data to plot
        /// </summary>
        public List<ScatterplotPoint> PlotData
        {
            get { return plotData; }
            set { plotData = value; }
        }

        List<string> caseNames;

        /// <summary>
        /// A list with case names
        /// </summary>
        public List<string> CaseNames
        {
            get { return caseNames; }
            set { caseNames = value; }
        }

        List<bool> showCaseNames;

        /// <summary>
        /// A list that enables to show/hide individual case labels
        /// </summary>
        public List<bool> ShowCaseNames
        {
            get { return showCaseNames; }
            set { showCaseNames = value; }
        }

        List<string> classNames;

        /// <summary>
        /// A list with class names
        /// </summary>
        public List<string> ClassNames
        {
            get { return classNames; }
            set { classNames = value; }
        }

        List<uint> casesClassLabels;

        /// <summary>
        /// A list with class index for each case
        /// </summary>
        public List<uint> CasesClassLabels
        {
            get { return casesClassLabels; }
            set { casesClassLabels = value; }
        }


    
               
    }
}
